/*
 * 版权所有 ( c ) 联想集团有限公司 2005-2009 保留所有权利。
 * 项目：	Lenovo Push Service
 * 文件名：	DaoFactory.java
 * 版本:    1.0
 * 描述：	Defines Dao factory class
 * 作者：	刘兵召
 * 日期：	2009-7-10
 * 修改历史：
 * 【时间】		【修改者】	【修改内容】
 */
package com.feng.demo.hibernate.jta.factory;

import com.feng.demo.hibernate.jta.dao.TestAmsDao;
import com.feng.demo.hibernate.jta.dao.TestDao;


/**
 * Abstract factory class that defines Dao creation interface.
 *
 */
public abstract class DaoFactory {
 
   /**
    * Static function to get concrete Dao factory implementation
    *
    * @return Dao factory implementation
    */
   public static DaoFactory getDaoFactory(){        
      // Get Dao factory type
      String type = System.getProperty("DAOFactoryType","Hibernate");
      if (type.equalsIgnoreCase("Hibernate")) {
         return new HibernateDaoFactory();  
      }         
      // Default
      return new HibernateDaoFactory();        
   }

   /**
    * Empty constructor
    */
   public DaoFactory() {
      super();       
   }
   

   /**
    * Get concrete <Code>AmsAppDao</Code> implementation
    *
    * @return concrete <Code>AmsAppDao</Code> implementation
    */
   public abstract TestDao getTestDao();
   
   public abstract TestAmsDao getTestAmsDao();
   
}